﻿/**
 * 列表 游戏区服 2017-04-05
 */
// ==========================
$(function(){
	// 绑定点击页面事件，游戏区服消失
	$(document).click(function(){
		$(".gameBox").fadeOut("fast");
		$(".zoneBox").fadeOut("fast");
		$(".servBox").fadeOut("fast");
	});
	// 选择游戏
	$(".game").click(function(){
		stopBubble();
		showGame();
	});
	// 分类筛选游戏
	$(".gameBox .gameTopCtg li").click(function(){
		stopBubble();
		$(this).addClass("liActive").siblings().removeClass("liActive");
		// 当点击上面筛选的时候，默认显示全部
		if($(this).attr("all") == "1") {
			$(".gameBox .gametitle li[py='hot']").addClass("word_nav_slt").siblings().removeClass("word_nav_slt");
		} else {
			$(".gameBox .gametitle li[py='']").addClass("word_nav_slt").siblings().removeClass("word_nav_slt");
		}
		
		filterGame();
	});
	// 字母筛选游戏
	$(".gameBox .gametitle li").click(function(){
		stopBubble();
		$(this).addClass("word_nav_slt").siblings().removeClass("word_nav_slt");
		filterGame();
	});
	// 选择大区
	$(".zone").click(function(){
		stopBubble();
		showZone($("input[name='gameId']").val());
	});
	// 选择服务器
	$(".serv").click(function(){
		stopBubble();
		showServer($("input[name='zoneId']").val());
	});
	// 初始化高级搜索
	initEsEvent();
	// 高级搜索已选择项
	$(".Main_title .Main_titler .close").click(function(){
		var attrnum = $(this).parent().attr("attr_hao");
		var attrnum1 = attrnum.split("_");
		if(attrnum1[1]==0){
			$(".es_t_item_slt").eq(attrnum1[0]).click();
		}
		if(attrnum1[1]==1){
			$(".es_t_price_slt").eq(attrnum1[0]).click();
		}
		if(attrnum1[1]==2){
			$(".es_t_errcomps_slt").eq(attrnum1[0]).click();
		}

		if(attrnum1[1]==3){
			$(".es_t_qrf_slt").eq(attrnum1[0]).click();
		}
	});
});

/**
 * 显示游戏列表
 */
function showGame() {
	$(".zoneBox").fadeOut("fast");
	$(".servBox").fadeOut("fast");


	if($(".gameBox").is(":visible")) {
		$(".gamelistdown").css("left","98px").fadeOut();
		$(".gameBox").slideUp("fast");
	} else {
		if($(".gamelist").children().length == 0) {
			loadGame();
		}
		$(".gameBox").slideDown("fast");
	}
}

/**
 * 加载游戏
 */
function loadGame() {
	var url = "/Common/gameList.html";

	$(".gamelist").html('<li style="display:block;width:100%;text-align:center;border:none;">加载中...</li>');
	$.get(url, function(data){
		if(data != null && data.length > 0) {
			$(".gamelist").empty();
			for(i in data) {
				var game = data[i];
				$(".gamelist").append('<li class="boxLiSpan" ' +
					'gid="'+game.id+'" ' +
					'gname="'+game.name+'" ' +
					'py="'+game.py_code+'" ' +
					'hot="'+game.is_hot+'" ' +
					'firm="'+game.game_firm+'" ' +
					'category="'+game.category+'"' +
					'style="display:none;">'+game.name+'</li>');
				
			}
			filterGame();
			// 绑定点击事件
			$(".gamelist .boxLiSpan").unbind("click").click(function(){
				stopBubble();
				chooseGame(this);
			});
		} else {
			$(".gamelist").html('<span style="width:100%;text-align: center;border:none;">未获取到数据</span>');
		}
	});
}

/**
 * 过滤游戏厂商下的游戏
 */
function filterFirm(gameFirm) {
	$(".gamelist .boxLiSpan").hide();
	$(".gamelist .boxLiSpan[firm='"+gameFirm+"']").show();
}

/**
 * 按分类、字母过滤游戏
 */
function filterGame() {
	var curIndex = $(".gametitle > li.word_nav_slt").attr("py");
	var category = $(".gameTopCtg > li.liActive").attr("category");
	var gid = $(".gameTopCtg > li.liActive").attr("gid");

	$(".gamelist .boxLiSpan").hide();
	$key = ".gamelist .boxLiSpan";
	if(undefined != category && category != "") {
		$key += "[category='"+category+"']";
	}
	if(undefined != gid && gid != "") {
		$key += "[gid='"+gid+"']";
	}
	if(undefined != curIndex && curIndex != "") {
		if(curIndex == "hot") {
			$key += "[hot='1']";
			//$(".gamelist .boxLiSpan[hot='1']").show();
		} else {
			$key += "[py='"+curIndex+"']";
			//$(".gamelist .boxLiSpan[py='"+curIndex+"']").show();
		}
	}
	$($key).show();
}

/**
 * 选择游戏
 */
function chooseGame(obj) {
	var thisGame = $(obj).attr("gid");
	if(thisGame == "-1") {
		filterFirm($(obj).attr("gname"));
		return false;
	}
	var lastGame = $("input[name='gameId']").val();
	$(".game").html($(obj).attr("gname"));
	$("input[name='gameId']").val(thisGame);
	$("input[name='gameName']").val($(obj).attr("gname"));
	$(".zone").html("选择大区");
	$("input[name='zoneId']").val("");
	$("input[name='zoneName']").val("");
	$(".serv").html("选择服务器");
	$("input[name='serverId']").val("");
	$("input[name='serverName']").val("");

	showZone(lastGame);
	if(lastGame != thisGame) {
		// 清除部分高级搜索
		clearDiffAdvance();
		// 获取游戏特有搜索条件
		getGameDataForSearch(thisGame);
	}
}

/**
 * 显示大区列表
 */
function showZone(lastGame) {
	var thisGame = $("input[name='gameId']").val();
	if(thisGame == "") {
		showGame();
	} else {
		$(".servBox").fadeOut("fast");
		$(".gameBox").fadeOut("fast");
		if($(".zoneBox").is(":visible")) {
			$(".zoneBox").slideUp("fast");
			$(".gamelistdown").fadeOut();
		} else {
			$(".zoneBox").slideDown("fast");
			$(".gamelistdown").fadeIn();
			if(thisGame != lastGame || $(".zonelist").children(".zoneTxt").length == 0) {
				loadZone(thisGame);
			}
		}
	}
}

/**
 * 加载大区列表
 */
function loadZone(gameId) {
	var url = "/Common/zoneList.html";
	var req = {
		gameId : gameId
	};

	$(".zonelist").html('<li class="zoneTxt" style="width:100%;text-align: center;border:none;">加载中...</li>');
	$.get(url, req, function(data){
		if(data != null && data.length > 0) {
			$(".zonelist").empty();
			if(data.length > 1) {
				$(".zonelist").append('<li class="zoneTxt" zid="0" zname="全区">全区</li>');
			}
			for(i in data) {
				var zone = data[i];
				$(".zonelist").append('<li class="zoneTxt" zid="'+zone.id+'" zname="'+zone.name+'">'+zone.name+'</li>');
			}
			// 绑定点击事件
			$(".zonelist .zoneTxt").unbind("click").click(function(){
				stopBubble();
				chooseZone(this);
			});
		} else {
			$(".zonelist").html('<li style="width:100%;text-align: center;border:none;">未获取到数据</li>');
		}
	});
}

/**
 * 选择大区
 */
function chooseZone(obj) {
	var lastZone = $("input[name='zoneId']").val();
	$(".zone").html($(obj).attr("zname"));
	$("input[name='zoneId']").val($(obj).attr("zid"));
	$("input[name='zoneName']").val($(obj).attr("zname"));
	$(".serv").html("选择服务器");
	$("input[name='serverId']").val("");
	$("input[name='serverName']").val("");

	if($("input[name='zoneId']").val() == "0") {
		$(".zoneBox").fadeOut("fast");
		$(".gameBox").fadeOut("fast");
		search();
		return false;
	}

	showServer(lastZone);
}

/**
 * 显示服务器列表
 */
function showServer(lastZone) {
	var thisZone = $("input[name='zoneId']").val();
	if(thisZone == "" || thisZone == "0") {
		showZone($("input[name='gameId']").val());
	} else {
		$(".zoneBox").fadeOut("fast");
		$(".gameBox").fadeOut("fast");
		if($(".servBox").is(":visible")) {
			$(".servBox").slideUp("fast");
		} else {
			$(".servBox").slideDown("fast");
			if(thisZone != lastZone || $(".servlist").children(".servTxt").length == 0) {
				loadServer(thisZone);
			}
		}
	}
}

/**
 * 加载服务器列表
 */
function loadServer(zoneId) {
	var url = "/Common/serverList.html";
	var req = {
		zoneId : zoneId
	};

	$(".servlist").html('<li style="width:100%;text-align: center;border:none;">加载中...</li>');
	$.get(url, req, function(data){
		if(data != null && data.length > 0) {
			$(".servlist").empty();
			if(data.length > 1) {
				$(".servlist").append('<li class="servTxt" sid="0" sname="全服">全服</li>');
			}
			for(i in data) {
				var zone = data[i];
				$(".servlist").append('<li class="servTxt" sid="'+zone.id+'" sname="'+zone.name+'">'+zone.name+'</li>');
			}
			// 绑定点击事件
			$(".servlist .servTxt").unbind("click").click(function(){
				stopBubble();
				chooseServer(this);
			});
		} else {
			$(".servlist").html('<li style="width:100%;text-align: center;border:none;">未获取到数据</li>');
		}
	});
}

/**
 * 选择服务器
 */
function chooseServer(obj) {
	$(".serv").html($(obj).attr("sname"));
	$("input[name='serverId']").val($(obj).attr("sid"));
	$("input[name='serverName']").val($(obj).attr("sname"));

	showServer($("input[name='zoneId']").val());
	$("input[name='game_server']").val(1);
	search();
}

/**
 * 被选择游戏对应的搜索条件
 */
function getGameDataForSearch(gameId) {
	var url = "/Common/getGameDataListForSearch.html";
	var reqData = {
		gameId : gameId
	};

	$.get(url, reqData, function(rst) {
		var data = $.parseJSON(rst);
		$("#gd_wrap").empty();
		if(data != null && data.length > 0) {
			$(".es_con_li").remove();
			for(var i = 0; i < data.length; i++) {
				var rowHtml = '';
				var dt = data[i];
				var gdList = dt.dataList;
				if(gdList != null && gdList.length > 0) {
					$(".es_con_list").append('<li class="es_con_li">'+dt.dt_name+'</li>');
					rowHtml += '<div class="con1">';
					for(var j = 0; j < gdList.length; j++) {
						var gd = gdList[j];
						if(dt.multi_choose == '1') {
							rowHtml += '<a onclick="multiChooseGameData(this, \'gd_'+gd.id+'\')" class="es_t_item">'+gd.data_name+'</a>';
						} else {
							rowHtml += '<a onclick="singleChooseGameData(this, \'gd_'+gd.id+'\')" class="es_t_item" val="gd_'+gd.id+'">'+gd.data_name+'</a>';
						}
					}
					rowHtml += '<div class="clear"></div>';
					if(dt.multi_choose == '1') {
						rowHtml += '<input type="button" value="确定" class="multi_btn" onclick="search()"/>';
					}
					rowHtml += '</div>';
				}

				if(rowHtml != '') {
					$("#gd_wrap").append(rowHtml);
				}
			}
			$("#gd_wrap").append('<input type="hidden" id="gameDataChoose" name="gameDataChoose" value=""/>');

			initEsEvent();
		}
	});
}

/**
 * 初始化高级搜索
 */
function initEsEvent() {
	// 页面适配
	if($(".seniorSer .con ul li").length>10){
		$(".seniorSer .con").addClass("con2");
	}else{
		$(".seniorSer .con").removeClass("con2");
	}

	// 初始化事件
	$(".seniorSer ul li").unbind("mouseenter").mouseenter(function(){
		var seniornum=$(".seniorSer ul li").index(this);
		$(".seniorSer ul li").removeClass("active");
		$(this).addClass("active");
		$(".seniorcon").show();
		$(".seniorcon .con1").hide().eq(seniornum).show();
	});
	$(".seniorcon .con1").unbind("mouseleave").mouseleave(function(){
		var senior1num=$(".seniorcon .con1").index(this);
		$(".seniorSer ul li").eq(senior1num).removeClass("active");
		$(".seniorcon .con1").hide();
		$(".seniorcon").hide();
	});
	addhover();
}

/**
 * 显示高级搜索已选择项
 */
function addhover(){
	$(".seniorSer ul li").removeClass("hover");
	var fontk = "";
	for(i=0;i<$(".es_t_price_slt").length;i++){
		var es_slt1 = $(".es_t_price_slt").eq(i).parent();
		var es_sltnum1 = $(".seniorcon .con1").index(es_slt1);
		if(es_sltnum1!=-1){$(".seniorSer ul li").eq(es_sltnum1).addClass("hover");}
		fontk = fontk+"<span attr_hao='"+i+"_1"+"'>"+$(".es_t_price_slt").eq(i).html()+"<span class='close'>×</span></span>";
	}
	for(i=0;i<$(".es_t_errcomps_slt").length;i++){
		var es_slt2 = $(".es_t_errcomps_slt").eq(i).parent();
		var es_sltnum2 = $(".seniorcon .con1").index(es_slt2);
		if(es_sltnum2!=-1){$(".seniorSer ul li").eq(es_sltnum2).addClass("hover");}
		var es_sltnum2html = $(".seniorSer ul li").eq(es_sltnum2).html();
		fontk = fontk+"<span attr_hao='"+i+"_2"+"'>"+es_sltnum2html+":"+$(".es_t_errcomps_slt").eq(i).html()+"<span class='close'>×</span></span>";
	}
	for(i=0;i<$(".es_t_qrf_slt").length;i++){
		var es_slt3 = $(".es_t_qrf_slt").eq(i).parent();
		var es_sltnum3 = $(".seniorcon .con1").index(es_slt3);
		if(es_sltnum3!=-1){$(".seniorSer ul li").eq(es_sltnum3).addClass("hover");}
		var es_sltnum3html = $(".seniorSer ul li").eq(es_sltnum3).html();
		fontk = fontk+"<span attr_hao='"+i+"_3"+"'>"+es_sltnum3html+":"+$(".es_t_qrf_slt").eq(i).html()+"<span class='close'>×</span></span>";
	}
	for(i=0;i<$(".es_t_item_slt").length;i++){
		var es_slt = $(".es_t_item_slt").eq(i).parent();
		var es_sltnum = $(".seniorcon .con1").index(es_slt);
		if(es_sltnum!=-1){$(".seniorSer ul li").eq(es_sltnum).addClass("hover");}
		var es_sltnumhtml = $(".seniorSer ul li").eq(es_sltnum).html();
		var es_slt_innerhtml = $(".es_t_item_slt").eq(i).html();
		if(es_sltnumhtml=="押金"){
			fontk = fontk+"<span attr_hao='"+i+"_0"+"'>"+es_sltnumhtml+":"+$(".es_t_item_slt").eq(i).html()+"<span class='close'>×</span></span>";
		}else{
			if(es_slt_innerhtml == "全部") {
				continue;
			}
			fontk = fontk+"<span attr_hao='"+i+"_0"+"'>"+es_slt_innerhtml+"<span class='close'>×</span></span>";
		}
	}

	 if(fontk == "") {
		fontk = "所有账号";
	} 
	$(".Main_title .Main_titler").empty().append(fontk);
}

/**
 * 选择资料库信息 单选
 */
function singleChooseGameData(obj, dataId) {
	var dataIdStr = $("#gameDataChoose").val(); // 已选中的ID
	if(dataIdStr.indexOf(dataId+',') > -1) {
		$(obj).removeClass("es_t_item_slt");
		$("#gameDataChoose").val(dataIdStr.replace(dataId + ",", ""));
	} else {
		$(obj).parent().children().each(function(){
			$(this).removeClass("es_t_item_slt");
			dataIdStr = dataIdStr.replace($(this).attr("val")+",", "")
		});

		$(obj).addClass("es_t_item_slt");
		$("#gameDataChoose").val(dataIdStr + dataId + ",");
	}
	search();
}

/**
 * 选择资料库信息 多选
 */
function multiChooseGameData(obj, dataId) {
	var dataIdStr = $("#gameDataChoose").val(); // 已选中的ID
	if($(obj).attr("class").indexOf("es_t_item_slt") > -1) {
		$(obj).removeClass("es_t_item_slt");
		$("#gameDataChoose").val(dataIdStr.replace(dataId + ",", ""));
	} else {
		$(obj).addClass("es_t_item_slt");
		$("#gameDataChoose").val(dataIdStr + dataId + ",");
	}
	//search();
}

/**
 * 游戏不同时，清除高级搜索
 */
function clearDiffAdvance() {
	// 清除上号方式搜索
	$("input[name='searchShfs']").val("");
}